perm filename APOLOG[LSP,JRA] blob
sn#129970 filedate 1974-11-11 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 **amibit g.a.
C00003 00003 .device xgp
C00008 ENDMK
C⊗;
**amibit g.a.
**abstract compilers
**chapters: static & dynamic
**additional: s-lisp;
**crap on a.i. impl: control, pattern match, and d.b.(perhaps as projects instead of
current.
**fixes in λ-calc, and mtc sections
**"gentle" reminders in existing text.
**more problems.
*self-contained u.g. to b. grad
possible reviewers
.device xgp;
.!xgplftmar←200;
.font 1 "ngr30";
.font 2 "basl30"
.turn on "%";
.select 1;
(cover letter to go to publisher...any comments??)
To the Patient Reader:
There are some major revisions in progress on the Super Lisp
manuscript. Sketching those areas here will hopefully forestall
attempts to understand sections which are poorly done and have been
changed.
Several revisions are due to persistent criticism from many
reviewers; some are due to my general discomfort with the current
presentation. The net effect is a restructuring of the two chapters
entitled "Towards Implementation" [part II-sec.6] and
"Compilation"[II-7]. These two chapters are being rewritten to
reflect the static structure of LISP and the dynamic structure of
LISP respectively.
In [II-6], the section on AMBIT/G is being completely rewritten. The
idea of graphical description of an algorithm as well as data is
worth presenting, but a very informal sketch is all that is really
necessary. The sections on "syntactic dominoes", the Contour model,
and graphical garbage collectors, are out.
The chapter on compilers [II-7] for LISP is quite incomplete; however
it is also much too machine dependent. This material has all been
rewritten in a much more abstract style, using constructors,
selectors, and predicates. There will correspondingly be much less
emphasis on the SM-machine. What will remain will be moved into the
Compiling chapter.
Throughout the text, there will be more emphasis on writing LISP
programs in an abstract style. This is one of the few canons of
"structured programming" and should be recognized as such.
There are a few topics yet to be included. The temptation to "keep on
writing" should be restrained, but one of the important topics to be
included is: just what can we learn from LISP? LISP has been an
amazingly durable language. In attempting to understand LISP in the
chapters on mechanics, evaluation, its static and dynamic structure,
we should begin to understand what makes a LISP-like language. This
understanding is part of the chapter on "Implications..." [II-8]. A
chapter on "Implications..." should also examine some of the more
durable characteristics of Artificial Intelligence languages.
Several existing sections are incomplete. The sections on
%2λ%*-calculus [I-4.6] and mathematical semantics [I-4.17] are quite
incomplete and contain some errors. These sections are being revised.
The section on Weizenbaum diagrams [I-4.9] has been reworked. The
current presentation is unclear and the diagrams are hard to read.
Many more problem sets must be included. Any contributions in this
area will be gratefully received.
This manuscript attempts to give a reasonably self-contained
presentation. The idea is to give people, with litle or no
background in Computer Science, a proper introduction to the
interesting areas of the field. I obviously think LISP is the best
way to do this.